from django.db import models
# 导入Django内置的AbstractUser模型，用于自定义用户模型
from django.contrib.auth.models import AbstractUser
# Create your models here.
# 定义User类，继承自AbstractUser
class User(AbstractUser):
    # 元类定义，指定数据库表名和用户信息的可读名称
    # unique 唯一性字段 电话号码
    mobile = models.CharField(max_length=20, unique=True, blank=True)
    # 头像
    # upload_to为保存到响应的子目录中
    avatar = models.ImageField(upload_to='media/avatar/%Y%m%d/', blank=True)
    # 个人简介
    user_desc = models.TextField(max_length=500, blank=True)


    # 修改认证字段
    USERNAME_FIELD = 'mobile'
    # 创建超级管理员的需要必须输入的字段
    REQUIRED_FIELDS = ["username", "email"]


    class Meta:
        db_table = 'user'
        verbose_name = '用户信息'
        verbose_name_plural = verbose_name

    # 重写__str__方法，返回用户的手机号码
    def __str__(self):
        return self.mobile